package pers.vic.practice.module.student.model;


import java.io.Serializable;

import pers.vic.boot.base.handler.json.annotation.AppendJsonField;
import pers.vic.boot.base.model.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import pers.vic.practice.base.constant.AppendJsonType;
import pers.vic.practice.base.constant.BaseConstant;

import java.util.Date;


/**
 * 学生表 实体类
 *
 * @author Vic.xu
 */
public class SStudent extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 姓名
     */
    private String name;

	/**
	 * 入学年份
	 */
	private Integer year;

    /**
     * 学号
     */
    private String number;

    /**
     * 院系
     */
    @AppendJsonField(key = "facultyName", appendType = AppendJsonType.DICT_VALUE_TEXT, otherInfo = "faculty")
    private String faculty;

    /**
     * 专业
     */
    @AppendJsonField(key = "majorName", appendType = AppendJsonType.DICT_VALUE_TEXT, otherInfo = "major")
    private String major;

    /**
     * 班级id
     */
    private Integer classesId;

    /**
     * 班级name
     */
    private String classesName;

    /**
     * 状态：0-未入学 1-就读中 2-已毕业
     */
    private Integer status;

    /* *************** */
    /**相信信息*/
    private SStudentInfo info;



    public String getStatusDesc(){
        return BaseConstant.STUDENT_STATUS_MAP.get(status);
    }


    /***************** set|get  start **************************************/
    /**
     * set：姓名
     */
    public SStudent setName(String name) {
        this.name = name;
        return this;
    }

    /**
     * get：姓名
     */
    public String getName() {
        return name;
    }

    /**
     * set：学号
     */
    public SStudent setNumber(String number) {
        this.number = number;
        return this;
    }

    /**
     * get：学号
     */
    public String getNumber() {
        return number;
    }

    /**
     * set：院系
     */
    public SStudent setFaculty(String faculty) {
        this.faculty = faculty;
        return this;
    }

    /**
     * get：院系
     */
    public String getFaculty() {
        return faculty;
    }

    /**
     * set：专业
     */
    public SStudent setMajor(String major) {
        this.major = major;
        return this;
    }

    /**
     * get：专业
     */
    public String getMajor() {
        return major;
    }

    /**
     * set：班级id
     */
    public SStudent setClassesId(Integer classesId) {
        this.classesId = classesId;
        return this;
    }

    /**
     * get：班级id
     */
    public Integer getClassesId() {
        return classesId;
    }

	public Integer getYear() {
		return year;
	}

	public void setYear(Integer year) {
		this.year = year;
	}

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getClassesName() {
        return classesName;
    }

    public void setClassesName(String classesName) {
        this.classesName = classesName;
    }

    public SStudentInfo getInfo() {
        return info;
    }

    public void setInfo(SStudentInfo info) {
        this.info = info;
    }


    /***************** set|get  end **************************************/
}
